キャッシュされた表のDSN定義
Oracleデータをキャッシュするデータ・ストアは、ユーザーDSNではなく、システムDSNとして定義されている必要があります。TimesTenキャッシュがシステムDSNとして定義されていない場合、TimesTen Cache AdministratorはTimesTenキャッシュで処理を行うことができません。また、ttAdminでTimesTenキャッシュ・エージェントを起動できません。DSN作成の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータ・ストアの作成に関する章を参照してください。
DSNパス名は、絶対パス名である必要があります。相対なDSNパス名に関連する問題については、「キャッシュ・エージェントの起動および停止」を参照してください。
キャッシュされたOracle表にDSNを作成する場合は、次のようにDSN属性を設定する必要があります。
- Authenticateは、無効にする必要があります。
- Loggingは、ディスクレスまたはディスクベースのいずれかに対して有効にする必要があります。
- ExclAccessは、共有モードに設定する必要があります。
- LockLevelは、行レベル・ロックを有効にする必要があります(Cache Connect to Oracleではデータベースレベル・ロックはサポートされていません)。
- Isolationは、任意の分離モードに設定できます。
- ThreadSafeは、Trueに設定する必要があります。
- OracleIDは、Oracle 9i 以上のリリースのOracleサービス名に設定する必要があります。
- PassThroughは、TimesTenキャッシュでローカルで実行されるか、またはOracleにパススルーされるプロシージャおよびSQL文を制御するために設定できます。詳細は、「パススルー・レベルの設定」を参照してください。
DSN属性または接続属性として、次の属性を指定できます。
- Oracle User IDは、OracleユーザーIDを指定します。この文字列は、UID接続属性を設定することで間接的に指定されます。UNIXの場合、対応するDSN属性はUIDです。Winodowsの場合、対応するDSN属性はUser IDです。
- OraclePWDは、Oracleユーザーのパスワードを指定します。
Oracleとの接続に使用するユーザー名およびパスワードは、前述のDSN定義の属性またはODBC接続文字列から取得されます。接続文字列の値は、DSNで指定された値を上書きします。
たとえば、Oracle UIDおよびOraclePWDをttIsql接続文字列に指定できます。
ttIsql -connStr "DSN=cgDSN; UID=testuser; OraclePWD=mypsswrd"
ODBCアプリケーションを使用して更新およびコミットを発行する場合は、ユーザー名およびパスワードを接続文字列に指定する必要があります。次に例を示します。
SQLDriverConnect(hdbc, ..., "DSN=cgDSN; UID=testuser;
OraclePWD=mypsswrd", ...);
たとえば、UNIX Platformでは、myOraCacheのDSN定義は次のようになります。
[myOraCache]
DataStore=/users/OracleCache/hotData
Authenticate=0
Logging=1
ExclAccess=0
LockLevel=0
ThreadSafe=1
PermSize=40
DurableCommits=1
OracleID=system1
UID=testuser
OraclePWD=mypsswrd
Windowsでは、「ODBC TimesTen Setup」ダイアログ・ボックスの「Oracle Data Loading」画面でOracleIDを指定します。